Robot apparatus and method of controlling the posture thereof

ABSTRACT

The CPU  102  detects that the posture of the apparatus main body has been shifted from the normal posture into an abnormal posture on the basis of the acceleration information obtained as detection output of the acceleration sensor  41 . Then, it restores the normal posture by means of a playback technique for controlling various drivers  3 D through  7 D, using route planning data stored in advance in the memory  101  for restoring the normal posture from a falling posture.

TECHNICAL FIELD

[0001] This invention relates to a robot apparatus adapted to restoreits normal posture by itself from an abnormal posture such as a tumblingposture and a method of controlling the posture of such a robotapparatus.

BACKGROUND ART

[0002] Various robots with different mechanical features are known todate including tired automotive robots adapted to move by means ofrevolving tires and two-legged or four-legged self-supporting walkablerobots.

[0003] A robot of this type is typically provided with a mechanicalsystem comprising actuators having a predetermined degree of freedom,sensors arranged at respective positions to detect predeterminedphysical quantities and a control section having microcomputers forcontrolling and driving the actuators individually to make the robotmove by itself and/or perform a predetermined action in a coordinatedmanner. Such a robot is produced by assembling components including atrunk, legs and a head to make them show predetermined mutualrelationships.

[0004] Walkable robots having two or more than two legs include thosetypically showing a profile resembling a cat or a dog and having fourlegs each of which is provided with a predetermined number of joints.The joints of the legs of such a robot can be controlled by recordingand reproducing positional information and velocity informationaccording to instructions or by carrying out arithmetic operations,using a kinetic model along with positional information and velocityinformation.

[0005] If controlled according to instructions or on the basis of akinetic model, the motion of a known robot is designed on the basis ofcertain assumptions concerning the environment of the activity of therobot that is conceivable to the designer. Therefore, in an environmentwhere those assumptions do not hold true, the robot can be forced totake an unintended posture, which by turn damages the function and/orthe structure of the robot, if partly, and eventually make it go out oforder. In some cases, the robot can damage the environment.

DISCLOSURE OF THE INVENTION

[0006] In view of the above identified circumstances, it is therefore anobject of the present invention to provide means for effectivelypreventing a robot from being damaged or causing an accident if operatedin an abnormal posture such as a tumbling posture.

[0007] Another object of the present invention is to provide a robotapparatus that can restore its normal posture by itself from an abnormalposture such as a tumbling posture and a method of controlling theposture of a robot.

[0008] According to the present invention, there is provided a robotapparatus comprising posture detection means for detecting the postureof the apparatus main body and outputting the result of the detection,posture determination means for determining if the apparatus main bodyis taking a predetermined posture or not on the basis of said result ofthe detection and posture modification means for modifying the postureof the apparatus main body when said posture determination meansdetermines that the apparatus main body is taking the predeterminedposture.

[0009] According to the present invention, there is also provided amethod of controlling the posture of a robot apparatus comprising stepsof detecting the posture of the apparatus main body, determining if theapparatus main body is taking a predetermined posture or not on thebasis of the result of the detection and modifying the posture of theapparatus main body when it is determined that the apparatus main bodyis taking the predetermined posture.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIG. 1 is a schematic perspective view of a multi-legged walkablerobot, illustrating its structure.

[0011]FIG. 2 is a schematic perspective view of the multi-leggedwalkable robot of FIG. 1, illustrating the arrangement of varioussensors including acceleration sensors to be used for detecting afalling posture.

[0012]FIG. 3 is a schematic block diagram of the control system of themulti-legged walkable robot of FIG. 1.

[0013]FIG. 4 is a schematic perspective view of the multi-leggedwalkable robot of FIG. 1, illustrating its basic posture.

[0014]FIG. 5 is a schematic perspective view of the multi-leggedwalkable robot of FIG. 1, illustrating a posture where the left forelegis raised from the basic posture.

[0015]FIG. 6 is a schematic perspective view of the multi-leggedwalkable robot of FIG. 1, illustrating a posture where the robot losesits balance.

[0016]FIG. 7 is a schematic perspective view of the multi-leggedwalkable robot of FIG. 1, illustrating a posture where the robot doesnot lose its balance.

[0017]FIG. 8 is a flow chart illustrating a method of editing a motionpattern of the multi-legged walkable robot of FIG. 1.

[0018]FIG. 9 is a flow chart illustrating an algorithm for determiningthe presence of a falling posture by means of the control section of themulti-legged walkable robot of FIG. 1.

[0019]FIGS. 10A and 10B are schematic illustrations of the relationshipof the argument θ of the average acceleration Acc address the Y-Z planeand the angle φ of the component of the average acceleration projectedon the Y-Z plane and the Z-axis.

[0020]FIG. 11 is a schematic illustration of the relationship of thetumbling direction during a walk and the angle φ that is defined as afunction of the shape-related restrictive conditions of the multi-leggedwalkable robot of FIG. 1.

[0021]FIGS. 12A, 12B, 12C and 12D are schematic lateral views of themulti-legged walkable robot of FIG. 1, illustrating various fallingpostures that can occur when the robot is walking.

[0022]FIG. 13 is schematic lateral view of the multi-legged walkablerobot of FIG. 1, illustrating how it restores the normal posture from afalling posture.

[0023]FIG. 14 is a schematic illustration of the multi-legged walkablerobot of FIG. 1, showing how it detects its contact with a foreignobject by means of its contact sensor when it is standing.

[0024]FIG. 15 is a schematic illustration of the multi-legged walkablerobot of FIG. 1, showing how it detects its contact with a foreignobject by means of its contact sensor when it is sitting.

[0025]FIG. 16 is a schematic lateral view of the multi-legged walkablerobot of FIG. 1, illustrating how it takes in video information by meansof a CCD camera when it is standing.

[0026]FIGS. 17A, 17B, 17C and 17D are schematic illustrations of thepieces of video information that the multi-legged walkable robot of FIG.1 takes in by means of a CCD camera when it is standing.

[0027]FIG. 18 is a schematic illustration of the floor condition asdetermined by the multi-legged robot of FIG. 1 on the basis of the videoinformation taken in by means of a CCD camera.

[0028]FIG. 19 is a schematic perspective view of a tired type robotapparatus comprising a rotary motion detecting device as abnormalposture detection means.

[0029]FIG. 20 is a schematic perspective view of a tired type robotapparatus comprising a floor surface detecting device as abnormalposture detection means.

[0030]FIG. 21 is schematic views of the multi-legged walkable robot ofFIG. 1, illustrating how it restores its normal posture from a state offalling on its back.

BEST MODE FOR CARRYING OUT THE INVENTION

[0031] Now, the present invention will be described by referring to theaccompanying drawings that illustrate a best mode of carrying out theinvention.

[0032]FIG. 1 is a schematic perspective view of a multi-legged walkablerobot 1 according to the invention.

[0033] The multi-legged walkable robot 1 is a multi-joint type robothaving four legs and showing a profile resembling an animal. Themulti-legged walkable robot 1 comprises a main body 2, a right foreleg3, a left foreleg 4, a right hind leg 5, a left hind leg 6, a head 7, atrunk section 8, a tail 9.

[0034] The multi-joint type robot I has joints 10, 11, 12, 13respectively for the right foreleg 3, the left foreleg 4, the right hindleg 5 and the left hind leg 6, each of which joints is provided with abrake mechanism 30. Thus, the operator can give positional informationon the relative position of any of the moving parts (legs) of the rightforeleg 3, the left foreleg 4, the right hind leg 5 and the left hindleg 6 to the robot, utilizing the action of the brake mechanism 30 andby means of a direct teaching method.

[0035] The main body 2 has brackets 20, 21, 22, 23 respectively for theright foreleg 3, the left foreleg 4, the right hind leg 5 and the lefthind leg 6. The head 7 is located at the front of the main body 2 andthe trunk section 8 is located behind the head 7. The tail 9 isprojecting upward from the trunk section 8.

[0036] Now, the components of the robot will be sequentially describedin terms of the main body 2.

[0037] Firstly, the right foreleg 3 includes an upper leg 3 a, a lowerleg 3 b, a bracket 20, joints 10, 10 a, a brake mechanism 30 and servomotors 3 c, 3 d, 3 e along with other components.

[0038] The upper leg 3 a is linked to the bracket 20 at the upper endthereof and rotatable around central axis CL1 in the direction of arrowR1. The upper leg 3 a and the lower leg 3 b are linked by means of thejoint 10. The servo motor 3 c is contained in the main body 2 andadapted to drive the bracket 20 to rotate around central axis CL2 in thedirection of arrow R2. The servo motor 3 d is adapted to drive the upperleg 3 a around the central axis CL1 in the direction of arrow R1. Theservo motor 3 e is adapted to drive the lower leg 3 b around centralaxis CL3 in the direction of arrow R3 relative to the upper leg 3 a.

[0039] The left foreleg 4 includes an upper leg 4 a, a lower leg 4 b, abracket 21, joints 11, 11 a, a brake mechanism 30 and servo motors 4 c,4 d, 4 e along with other components.

[0040] The upper leg 4 a is linked to the bracket 21 at the upper endthereof and rotatable around central axis CL4 in the direction of arrowR4. The upper leg 4 a and the lower leg 4 b are linked by means of thejoint 11. The servo motor 4 c is contained in the main body 2 andadapted to drive the bracket 21 to rotate around central axis CL5 in thedirection of arrow R5. The servo motor 4 d is adapted to drive the upperleg 4 a around the central axis CL4 in the direction of arrow R4. Theservo motor 4 e is adapted to drive the lower leg 4 b around centralaxis CL6 in the direction of arrow R6 relative to the upper leg 3 a.

[0041] The right hind leg 5 includes an upper leg 5 a, a lower leg 5 b,a bracket 22 joints 12, 12 a, a brake mechanism 30 and servo motors 5 c,5 d, 5 ealong with other components.

[0042] The upper leg 5 a is linked to the bracket 22 at the upper endthereof. The servo motor 5 cis adapted to drive the bracket 22 to rotatearound central axis CL7 in the direction of arrow R7. The servo motor 5dis adapted to drive the upper leg 5 ato rotate around central axis CL8in the direction of arrow R8. The servo motor 5 e is adapted to drivethe lower leg 5 baround central axis CL9 in the direction of arrow R9.

[0043] The left hind leg 6 includes an upper leg 6 a, a lower leg 6 b, abracket 23 joints 13, 13 a, a brake mechanism 30 and servo motors 6 c, 6d, 6 ealong with other components.

[0044] The servo motor 6 c is adapted to drive the bracket 23 to rotatearound central axis CL10 in the direction of arrow R10. The servo motor6 dis adapted to drive the upper leg 6 ato rotate around central axisCL11 in the direction of arrow R11. The servo motor 6 eis adapted todrive the lower leg 6 baround central axis CL12 in the direction ofarrow R12.

[0045] Thus, each of the right foreleg 3, the left foreleg 4, the righthind leg 5 and the left hind leg 6 comprises components having a degreeof freedom of 3 so that it can be driven by servo motors to rotatearound a plurality of axes.

[0046] The head 7 comprises servo motors 7 a, 7 b, 7 c, of which theservo motor 7 a is adapted to drive the head 7 to swing around centralaxis CL20 in the direction of arrow R20. The servo motor 7 b is adaptedto drive the head 7 to swing around central axis CL21 in the directionof arrow R21. The servo motor 7 c is adapted to drive the head 7 toswing around central axis CL 22 in the direction of arrow R22. Thus, thehead 7 has a degree of freedom of 3.

[0047] The trunk section 8 comprises a servo motor 8 a, which is adaptedto drive the tail 9 to swing around central axis CL23 in the directionof arrow R23.

[0048] As shown in FIG. 2, the main body 2 of the multi-joint type robot1 contains a 3-axial (x, y, z) acceleration sensor 41 that can detectthe acceleration and the angular velocity of the main body 2 in anyposture. Additionally, the head 7 is provided with a CCD camera 43 andmicrophones 44. Still additionally, the head, the legs, the abdomen, thethroat, the sitting and the rail are provided with respective contactsensors 45. The detection output of each of the sensors is transmittedto CPU (central processing unit) 102 arranged in control section 100 ofthe multi-joint type robot 1 by way of a bus 103.

[0049]FIG. 3 is a schematic block diagram of the multi-joint type robot1, illustrating the wired connection of the control section 100, theservo motors for driving the respective joints of the right foreleg 3,the left fore leg 4, the right hind leg 5, the left hind leg 6, the head7 and the tail 9 and the respective position sensors.

[0050] The control section 100 comprises a memory 101 and a CPU (centralcontrol unit) 102 and, as shown in FIG. 3, bus 103 of the CPU 102 isconnected to the right foreleg 3, the left fore leg 4, the right hindleg 5, the left hind leg 6, the head 7 and the tail 9.

[0051] The right foreleg 3 comprises the above listed servo motors 3 c,3 d, 3 e and position sensors 3P1, 3P2, 3P3. The servo motors 3 c, 3 d,3 e are connected to respective drivers 3D and the position sensors 3P1,3P2, 3P3 are also connected to the drivers 3D respectively. The drivers3D are connected to the bus 103.

[0052] Similarly, the servo motors 4 c, 4 d, 4 e and the positionsensors 4P1, 4P2, 4P3 of the left foreleg 4 are connected to respectivedrivers 4D and the servo motors 5 c, 5 d, 5 eand the position sensors5P1, 5P2, 5P3 of the right hind leg 5 are connected to respectivedrivers 5D, whereas the servo motors 6 c, 6 d, 6 eand the positionsensors 6PI, 6P2, 6P3 of the left hind leg 6 are connected to respectivedrivers 6D.

[0053] The servo motors 7 a, 7 b, 7 c and the position sensors 7P1, 7P2,7P3 of the head 7 are connected to respective drivers 7D. The servomotor 9 a and the position sensor 9P1 of the sitting 9 are connected todrivers 9D.

[0054] The position sensors 3P1, 3P2, 3P3 of the right foreleg 3, theposition sensors 4P1, 4P2, 4P3 of the left foreleg 4, the positionsensors 5P1, 5P2, SP3 of the right hind leg 5 and the position sensors6P1, 6P2, 6P3 of the left foreleg 6 are designed to collect positionalinformation for the respective positions. A rotary angle sensor such asa potentiometer may be used for each of the position sensors for thepurpose of detecting the angle of the joint for which it is responsible.Upon receiving the positional information obtained by the positionsensors 3P1 through 6P3, which may be so many rotary angle sensors, theCPU 102 issues a command to each of the related drivers on the basis ofthe positional information fed back to it. Then, each of the relateddriver servo-controls the corresponding servo motor according to thecommand given by the CPU 102 and drives the servo motor to rotate to theposition indicated by the command.

[0055]FIGS. 4 through 7 are simplified illustrations of the multi-leggedwalkable robot 1 of FIG. 1. The section 8 caries the head 7, the rightforeleg 3, the left foreleg 4, the right hind leg 5 and the left hindleg 6. The legs 3 through 5 are provided with respective joints 10, 11,12, 13, 30, 30, 30, 30.

[0056]FIG. 4 shows the basic posture of the multi-legged walkable robot1, where the right foreleg 3, the left foreleg 4, the right hind leg 5and the left hind leg 6 are all straightened. FIG. 5 shows that thejoint 11 and the joint 30 of the left foreleg 4 are made to move fromthe basic posture of FIG. 4.

[0057] The right foreleg 3, the left foreleg 4, the right hind leg 5 andthe left hind leg 6 are all made to contact the ground surface 300 inFIG. 4. On the other hand, the left foreleg 4 is thrown forward to takethe posture of FIG. 5 as the joins 11, 30 of the left foreleg 4 are madeto move.

[0058] When the operator determines the angle of the joint 11 of theleft elbow of the left foreleg 4 and the angle of the joint 30 of theleft shoulder of the multi-legged walkable robot 1, he or she carriesout an operation of editing a motion pattern of the multi-leggedwalkable robot in the following manner.

[0059] In the editing operation of giving a motion to both of the joints11, 30 of the multi-legged walkable robot 1 to make them move from thepositions of FIG. 4 to the positions shown in FIG. 5, the position ofthe center of gravity W0 of the multi-legged walkable robot 1 in theposture of FIG. 5 is calculated by means of the software of externalediting commander computer 400 of the control section 100 as shown inFIG. 3 and then at least the angles of the joints of one of the rightforeleg 3, the right hind leg 5 and the left hind leg 6 areautomatically determined in such a way that the multi-legged walkablerobot 1 would not fall down from the position of the center of gravityW0. In this operation, commands are issued from the external editingcommander computer 400 to the CPU 102 of the control section and the CPU102 by turn issues a motion command to each of the servo motors of therelated leg.

[0060] The weights of the components of the multi-legged walkable robot1 including the trunk section 8, the main body 2, the right foreleg 3,the left foreleg 4, the right hind leg 5, the left hind leg 6 and thehead 7 are stored in advance in memory 402 of the external editingcommander computer 400 so that the position of the center of gravity W0of the multi-legged walkable robot 1 in the posture of FIG. 4 can becalculated on the stored weight data.

[0061] Now, a technique that can be used for editing a motion pattern ofthe multi-legged walkable robot 1 will be described by referring to FIG.8.

[0062] Referring to FIG. 8, before Step S1, data including the weightsand the profiles of the components of the multi-legged walkable robot 1are stored in advance in the memory 101. More specifically, dataincluding the weights and the profiles of the components including themain body 2, the trunk section 8, the head 7, the right foreleg 3, theleft foreleg 4, the right hind leg 5, the left hind leg 6 and the tail 9are stored in the memory 101 and the data are sent from the memory 101to the memory 402 of the external editing commander computer 400. Thisprocessing operation of acquiring data on the weights and the profilesis performed in Step S1.

[0063] Then, the processing operation of editing the posture of themulti-legged walkable robot 1 starts in Step S2. In other words,instructions are given to the joints 11 and 30 so as to make them moveuntil the left foreleg 4 is thrown forward to take the posture as shownin FIG. 5. However, if simply the left foreleg 4 is thrown forward, thecenter of gravity is shifted to the side of the left foreleg 4 and themulti-legged walkable robot 1 may fall left forward.

[0064] Thus, in order to prevent the multi-legged walkable robot 1 fromfalling, once the joints 11, 30 are moved to make the left foreleg 4thrown forward as shown in FIG. 5, the external editing commandercomputer 400 of the control section 100 in FIG. 3 determines bycalculation new center of gravity WI that is located behind the currentcenter of gravity W0 along line T in FIG. 5 in terms of the main body 2and the trunk section 8 and obtains data for the calculated new centerof gravity W1. In order to shift the center of gravity from W0 to W1,the joints -10, 12, 13 and the joints 30, 30, 30 of the right foreleg 3,the right hind leg 5 and the left hind leg 6 should be moved in a manneras shown in FIG. 7. These motions will be made under the control of theexternal editing commander computer 400.

[0065] In order to make the multi-legged walkable robot 1 well-balanced,the motions of the joints 10, 12, 13 and the joints 30, 30, 30 of theright foreleg 3, the right hind leg 5 and the left hind leg 6 arepreferably determined by taking Steps S4 and S5 in FIG. 8. In otherwords, the projected point IM of the new center of gravity W1 on theground surface 300 should be found within triangular center of gravitysafety area AR shown in FIG. 7. The center of gravity safety area AR isdefined by the triangle having its three corners at the grounded pointCP1 of the right foreleg 3, the grounded point CP2 of the right hind leg5 and the grounded point CP3 of the left hind leg 6.

[0066] So long as the projected IM of the center of gravity W1 isconstantly located within the safety area AR, the joints 10, 12, 13 andthe joints 30, 30, 30 of the right foreleg 3, the right hind leg 5 andthe left hind leg 6 can be moved without causing the multi-leggedwalkable robot 1 to fall. Then, a stable posture can be selectivelytaken with a minimal amount of motion.

[0067] Now, it will be clear by comparing FIG. 5 and FIG. 7 that, whenthe multi-legged walkable robot 1 is made to throw its left foreleg 4forward, its center of gravity is shifted from W0 to W1 and, at the sametime, the hind legs 5, 6 are bent slightly to take a somewhat crouchedposture. After determining the new center of gravity by calculation inStep S3, the multi-legged walkable robot 1 is observed to see if it isgoing to fall or not in Step S4. If it is going to fall, the externalediting commander computer 400 determines necessary motions of otherappropriate joints (table of angles) in Step S4 and returns to Step S3,where it determines a new center of gravity for another time.

[0068] If, on the other hand, it is found in Step S4 that themulti-legged walkable robot 1 is not going to fall, the external editingcommander computer 400 advances to Step S6, where it terminates theoperation of editing the motion pattern of the multi-legged walkablerobot 1. When the editing operation is terminated, the external editingcommander computer 400 inputs the edited and finalized motion pattern tothe CPU 102 of the multi-legged walkable robot 1 (Step S7).

[0069] The control section 100 constantly watching the part of themulti-legged walkable robot 1 to detect any falling posture thereof onthe basis of the acceleration information AccXt, AccYt, Acc Zt along thethree axes (x, y, z) obtained by the 3-axial (x, y, z) accelerationsensor 41 contained in the main body 2. Whenever the control section 100detects a falling posture, it makes the robot restore the normalposture.

[0070]FIG. 9 is a flow chart illustrating an algorithm for determiningthe presence of a falling posture by means of the control section 100 ofthe multi-legged walkable robot 1.

[0071] Referring to FIG. 9, the control section 100 detects any fallingposture on the basis of the acceleration information AccXt, AccYt, AccZtalong the three axis (x, y, z) detected by the acceleration sensor 41 ina manner as described below.

[0072] For determining the presence of a falling posture, in Step S11,the control section 100 discards the oldest acceleration informationAccXn, AccYn, AccZn in the data buffer and updates the time tag of thedata in the data buffer. In the multi-legged walkable robot 1, thebuffer number of the data buffer is 50 for each of the three axes.

AccXk→AccXk+1(k=0˜n−1)  (formula 1)

AccXk→AccXk+1(k=0˜n−1)  (formula 2)

AccXk→AccXk+1(k=0˜n−1)  (formula 3)

[0073] Then, in Step S12, the acceleration information AccXt, AccYt,AccZt along the three axes (x, y, z) obtained by the acceleration sensor41 is stored in the data buffer. The data updating rate of thismulti-legged walkable robot 1 is 10 ms.

AccXo→AccXt  (formula 4)

AccXo→AccXt  (formula 5)

AccXo→AccXt  (formula 6)

[0074] Then, in Step S13, the control section 100 calculates temporalaverage accelerations AccX, AccY, AxxZ along the three axes (x, y, z)from the data in the data buffer.

AccX=ΣAccXk/n (k=0˜n)  (formula 7)

AccX=ΣAccXk/n (k=0˜n)  (formula 8)

AccX=ΣAccXk/n (k=0˜n)  (formula 9)

[0075] Then, in Step S14, the argument θ of the average acceleration Accand the Y-Z plane and the angle φ of the component of the averageacceleration projected on the Y-Z plane and the Z-axis are determined(see FIGS. 10A and 10B).

Acc=(AccX²+AccY²+AccZ²)^(½)  (formula 10)

θ=asin(AccY/((AccY²+AccZ²)^(½)))  (formula 11)

φ=asin(AccZ/Ace)  (formula 12)

[0076] In Step S15, it is determined if the average acceleration(Euclidian distance) Ace is found within the tolerable range (ΔAcc) ornot. If the average acceleration Acc is not found within the tolerablerange, the control section 100 moves out of the falling posturedetermining process because the robot may be subjected to a largeexternal force, trying to lift it.

Acc>1.0+ΔAcc [G] or Ace<1.0−ΔAcc [G]→exemption from processingoperation  (formula 13)

[0077] Then, in Step S16, the control section 100 compares the argumentθ of the average acceleration Acc and the Y-Z plane and the angle φ ofthe component of the average acceleration projected on the Y-Z plane andthe Z-axis with the template argument θm of the average acceleration Aceand the Y-Z plane and the template angle φm of the component of theaverage acceleration projected on the Y-Z plane and the Z-axis that aretemplate data for the current posture. If the differences are within therespective tolerable ranges (Δθm, Δφm), the control section 100determines that the current posture is normal. If, on the other hand,the differences are out of the respective tolerable ranges, itdetermines that the robot is falling or in an abnormal posture. When,the robot is walking, θ=−π/2 and φ=arbitrary.

θ>θm+Δθm or θ<θm−Δθm  (formula 14)

φ>φm+Δφm or φ<φm−Δφm  (formula 15)

[0078] Since a falling phenomenon is a very low frequency phenomenonrelative to the sampling frequency of angular velocity, the use of databuffer for determining averages over a period of time can reduce thepossibility of errors due to noises in determining a falling posture.Additionally, this technique provides the advantage of a low load ifcompared with the use of a low pass digital filter for processing data.

[0079] If a falling posture is detected by the above processingoperation of determining a falling posture (Step S17). The processingoperation proceeds to Step S18 to restore the normal posture in a manneras described below.

[0080] In the processing operation for restoring the normal posture,firstly the falling direction is determined on the basis of the argumentθ of the average acceleration Acc and the Y-Z plane and the angle φ ofthe component of the average acceleration projected on the Y-Z plane andthe Z-axis. The multi-legged walkable robot 1 can fall only in one ofthe four directions of (A), (B), (C), (D) in FIG. 11 because of itsshape. Therefore, it is determined if the robot is falling forward (headside down) as shown in FIG. 12A by means of formula

θ<φ<(¼)π or −(¼)π<φ<0  (formula 16).

[0081] Then, control section 100 determine if the robot is fallingrightward (right side down) as shown in FIG. 12B by means of formula

(¼)π<φ<(¾)π  (formula 17).

[0082] Then, the control section 100 determines if the robot is fallingleftward (left side down) as shown in FIG. 12C by means of formula

−(¼)π>φ>−(¾)π  (formula 18).

[0083] Finally, the control section 100 determines if the robot isfalling rearward (tail side down) as shown in FIG. 12D by means offormula

(¾)π<φ or φ>−(¾)π  (formula 19).

[0084] Thereafter, the control section 100 restores the normal postureof the robot from the falling posture, which is one of the four postures(head side down, right side down, left side down, tail side down) storedin the memory 101 in advance by means of a play back technique usingroute planning data. However, there may be occasions where the fallingposture of the robot is changed while restoring the normal posture. Forexample, a head side down posture may be changed to a right or left sidedown posture while the control section 100 is restoring the normalposture of the robot. Then, the current restoring operation isterminated quickly and the process of detecting the falling posture andrestoring the normal posture will be repeated to make the robot restorethe normal posture quickly.

[0085]FIG. 13 is schematic lateral view of the multi-legged walkablerobot 1, illustrating how it restores the normal posture from a headside down posture.

[0086] Route planning data for restoring the normal posture from thehead side down posture of the robot can be generated for the operator byinstructing the multi-legged walkable robot 1 about the relativepositional relationship of the right foreleg 3, the left foreleg 4, theright hind leg 5 and the left hind leg 6 by means of a direct teachingmethod so that the generated route planning data may be stored in thememory 101.

[0087] While the control section 100 determines the falling posture ofthe multi-legged walkable robot 1 on the basis of the accelerationinformation obtained by the 3-axial (x, y, z) acceleration sensor 41contained in the main body 2 and restores the normal posture of fallingposture, which is one of the four postures (head side down, right sidedown, left side down, tail side down) stored in the memory 101 inadvance in the above description, it may alternatively be so arrangedthat the control section 100 determines the falling posture of the robotby means of an angular velocity sensor, an angular acceleration sensoror an inclination sensor that can also be contained in the main body 2for the operation of restoring the normal posture of the robot. Stillalternatively, it may be so arranged that the control section 100combines the outputs of more than one different sensors to determine thefalling posture of the robot before restoring the normal posture of therobot.

[0088] If the multi-legged walkable robot is four-legged, an abnormalposture of the robot can be detected by comparing the posture modelsstored in the inside and the outputs of the contact sensors arranged atthe tips of the legs and at various positions of the main body.

[0089] For example, if the robot is standing as shown in FIG. 14, onlythe contact sensors 45A, 45B arranged at the tips of the legs detect acontact condition out of the contact sensors 45A, 45B, 45C. However, ifthe robot is sitting and trying to use the forelegs as shown in FIG. 15,the contact sensors 45 arranged at the tips of the hind legs and thecontact sensor 45C arranged at the sitting detect a contact condition.Therefore, if the postures of the robot and the ideal conditions of thecontact sensors 45 are stored in the memory of the robot main body 2 inadvance, an abnormal posture can be detected by comparing the outputs ofthe contact sensors 45 and the stored data when the robot is taking anyof the stored posture.

[0090] In the case of a robot apparatus comprising an image inputdevice, an abnormal posture can be detected by recognizing the groundsurface by means of the image input device and determining thecorrelation of the ground surface condition and the posture that therobot is trying to take.

[0091] More specifically, when such a multi-legged walkable robot 1takes a normal posture as shown in FIG. 16, the CCD camera 43 of theimage input device picks up an image as shown in FIG. 17A where thefloor surface F shows a horizontal line. However, when the robot 1 takesan abnormal posture, the CCD camera 43 may picks up an image as shown inFIG. 17B where the floor surface F is turned upside down or an image asshown in FIG. 17C or 17D where the for surface F is inclined. Thus, anabnormal posture can be detected by judging the state of the floorsurface F obtained as output of the CCD camera 43.

[0092] For judging the state of the floor surface F, the operation ofdetecting the end of the coordinate system of the image in theY-direction may be repeated as shown in FIG. 18 to define a line bymeans of the coordinate values obtained from the repeated detectingoperation and determine the lateral edges of the floor surface F.Similarly, the operation of detecting the end of the coordinate systemof the image in the X-direction may be repeated as shown in FIG. 18 todefine a line by means of the coordinate values obtained from therepeated detecting operation and determine the longitudinal edges of thefloor surface F. Then, a line defining showing inclined floor surfacecan be obtained by combining them.

[0093] In the case of a tired type robot that uses wheels for moving,the wheels have to be constantly held in contact with the floor surfacewhen it is operating so that an abnormal posture can be detected in amanner as described below.

[0094] For example, an abnormal posture can be detected by detecting thenumber of revolutions per unit time of each of the follower shafts bymeans of so may revolution detectors RD and comparing it with the numberof revolutions per unit time of each of the rotary output devices RO asshown in FIG. 19.

[0095] Alternatively, an abnormal posture can be detecting by mans of afloor surface detector FD particularly the robot is tumbled. For thefloor surface detector FD, a non-contact type sensor comprising a lightemitting device and a light receiving device or a contact type sensorsuch as a micro-switch may suitable be used.

[0096] If the normal posture is restored from a falling posture by meansof a playback technique, the motion of restoring the normal posture fromthe falling posture may be limited to certain state transitionsdepending on the profile of the robot apparatus. In the case of amulti-joint type robot 1 such as a four-legged robot, there can exist atotal of six states including the above listed four falling postures(head side down, right side down, left side down, tail side down), aback side down state where the robot is turned upside down and a stomachside down state where the robot lies flat on the floor. Then, the motionof restoring the normal posture from a falling posture proceeds by wayof a stomach side down state. The motion of restoring the normal posturefrom a back side down state has to proceeds by way of one of the fourfalling postures (head side down, right side down, left side down, tailside down) before getting to the stomach side down state. Therefore,motion data for the play back technique may be prepared for each of thenormal posture restoring motions that the robot can take so that thedata for a particular restoring motion can be retrieved by detecting anddetermining the falling posture. Then, if the robot fell for anunexpected external disturbance, the right restoring motion can beimmediately selected and performed. It will be appreciated that theoperation of preparing motion data can be simplified with thisarrangement of dividing a restoring motion into component motions.

[0097] If the above arrangement is not used and if motion data areprepared retrieved for the entire motion of restoring the normal posturefrom a back side down state, the following problems arise.

[0098] 1. If the posture of the robot is forcibly restored to the normalposture by external force, the robot cannot start the next motion untilthe ongoing restoring motion is completed.

[0099] 2. If the motion data for restoring the normal-posture areprepared to proceed by way of the left side down state and the robot isforced to proceed by way of some other state (e.g., by way of the rightside down state) due to an external factor (e.g., a projection on thefloor surface), the intended normal posture restoring motion becomesabortive and the operation turns out inutile.

[0100] 3. If the current falling posture is changed while the restoringmotion is going on and the ongoing operation is suspended to start a newmotion, the joints may have to subjected to a large load because of thedisrupted motion.

[0101] As described above in detail, a robot apparatus according to theinvention can restore the normal posture from an abnormal posture byitself by detecting the posture of the apparatus main body, determiningif the apparatus main body is taking a predetermined posture or not onthe basis of the result of the detection and modifying the posture ofthe apparatus main body when it is determined that the apparatus mainbody is taking the predetermined posture.

[0102] Therefore, the present invention provides a robot apparatus thatcan restore the normal posture from an abnormal posture by itself.

[0103] Thus, since a robot apparatus according to the invention canrestore the normal posture from an abnormal posture by itself, the robotapparatus is prevented from being damaged or causing an accident ifoperated in an abnormal posture such as a falling posture. Additionally,a robot apparatus according to the invention can effectively alleviatethe workload of the operator for restoring the normal posture of therobot.

1. A robot apparatus characterized by comprising: posture detectionmeans for detecting a posture of an apparatus main body and outputting aresult of said detection; posture determination means for determiningwhether said apparatus main body is taking a predetermined posture ornot on the basis of said result of said detection; and posturemodification means for modifying said posture of said apparatus mainbody when said posture determination means determines that saidapparatus main body is taking said predetermined posture.
 2. The robotapparatus according to claim 1, characterized in that said posturedetection means is a sensor and said posture modification means modifiessaid posture on the basis of and according to said result of saiddetermination of said posture determination means.
 3. The robotapparatus according to claim 2, characterized in that said predeterminedposture determined by said posture determination means is a fallingposture of said apparatus main body.
 4. The robot apparatus according toclaim 3, characterized in that said falling posture is at least a headside down posture, a tail side down posture, a right side down postureor a left side down posture.
 5. The robot apparatus according to claim2, characterized in that said sensor is an image recognition sensor. 6.The robot apparatus according to claim 2, characterized in that saidsensor is a contact sensor.
 7. The robot apparatus according to claim 6,characterized in that said apparatus main body has walking means; andsaid sensor is arranged near the bottom surface of said walking means.8. The robot apparatus according to claim 2, characterized in that saidsensor is an acceleration sensor; and said posture determination meansdetermines said apparatus main body is taking a predetermined posture atleast the output level of said acceleration sensor and/or the directionof acceleration determined from the output of said acceleration sensor.9. The robot apparatus according to claim 8, characterized in that saidpredetermined posture determined by said posture determination means isa falling posture of said apparatus main body.
 10. The robot apparatusaccording to claim 9, characterized in that said falling posture is atleast a head side down posture, a tail side down posture, a right sidedown posture or a left side down posture.
 11. The robot apparatusaccording to claim 2, characterized by further comprising: memory meansstoring information on posture modifying motions to be selectively usedaccording to said posture of said apparatus main body; and read meansfor reading out said information on posture modifying motions from saidmemory means; said posture modification means modifies said posture ofsaid apparatus main body according to said read out information onposture modifying motions.
 12. The robot apparatus according to claim11, characterized in that said memory means stores information on aplurality of posture modifying motions; and said read means reads outsaid information on said posture modifying motion corresponding to theresult of said determination of said posture determination means
 13. Therobot apparatus according to claim 12, characterized in that said resultof said determination of said posture determination means is saidfalling posture of said apparatus main body.
 14. The robot apparatusaccording to claim 13, characterized in that said falling posture is atleast a head side down posture, a tail side down posture, a right sidedown posture or a left side down posture.
 15. A method of controlling aposture of a robot apparatus, characterized by comprising steps of:detecting said posture of an apparatus main body; determining whethersaid apparatus main body is taking a predetermined posture or not on thebasis of a result of said detection; and modifying said posture of saidapparatus main body when it is determined that said apparatus main bodyis taking said predetermined posture.